/*
 * ISTY 1
 * Projet IDD
 * Jeu de société Caylus
 *
 * Groupe 9:
 *      Bedhiaf Mouna
 *      Joober Nizar
 *      Labassi Amine
 *      Sridi Med Mahdi
 * Année 2008/2009
 */

package caylus.Model;

import java.io.Serializable;


/**
 * Chaque joueur posséde six ouvriers
 * Il les place quand il le veut,et quand le Croupier le lui permet
 * Un ouvrier ne peut pas changer de propriétaire
 * Il est soit disponible, soit occupé
 * 
 * @author Groupe 9 ISTY 1
 */
public class Ouvrier implements Serializable{

	private String _nom; // l'emhaf .. lem3allam.. le7mar...
	private Joueur _patron;
	private boolean _estDisponible = true;


    /**
     * Le Croupier cré six instances de cette classe pour chaque joueur(5) dés le lancement d'une partie
     * Un ouvrier est soit disponible, soit occupé(sur le plateau du jeu)
     * Un ouvrier connait la référence de son patron(un Joueur)
     *
     * @param pNom
     * @param pJoueur
     */
    public Ouvrier(String pNom, Joueur pJoueur)
	{
		_nom = pNom;
		_patron = pJoueur;
	}
    /**
     *
     * @return true si l'ouvrier est disponible (n'est pas sur une case ou dans le château), false sinon
     */
    public boolean estDisponible()
	{
		return _estDisponible;
	}

    /**
     * A chaque fois qu'un ouvrier est placé sur le plateau du jeu (case ou château), cette méthode est évoquée
     * l'attribut '_disponible' est mis à jour via cette méthode, soit lors du placement, soit lors de la récupération
     * @param pDisponible
     */
    public void setEstDisponible(boolean pDisponible)
	{
		_estDisponible = pDisponible;
	}

    /**
     *
     * @return le Patron de cet ouvrier (Le joueur qui le posséde)
     */
    public Joueur getPatron()
	{
		return _patron;
	}

}



